<template>
	<div>
		<input type="text" placeholder="请输入姓名" :value="modelValue" @input="inputChange($event, 'modelValue')" />
		<br />
		<input type="text" placeholder="请输入邮箱" :value="modelValue_aaa" @input="inputChange($event, 'modelValue_aaa')" />
		<br>
		<button @click="modelValue_obj.a++">{{ modelValue_obj }}</button>
	</div>
</template>

<script setup lang="ts">
	let props = defineProps({
		modelValue: String,
		modelValue_aaa: String,
		modelValue_obj: {
			type: Object|| String,
			default: { },
		}
	})
	console.log(props);
	
	let emit = defineEmits(['modelValue', 'modelValue_aaa'])
	function inputChange(e, emitMethd: any){
		// 必须要加 update，但是直接卸载 emit 里又 ts 报错，妈的 
		emitMethd = 'update:' + emitMethd 
		emit(emitMethd, e.target.value)
		// emit('update:modelValue', e.target.value)
	}
</script>

